package com.javaGather.demo2;


import java.util.ArrayList;

public class ArrayListHashMap<K, V> {


    private ArrayList<Entry<K, V>> arrayListEntry = new ArrayList<>();

    /**
     * ArrayList实现HashMap
     * 缺点：1.查询效率非常低 o(n)
     * 优点：保证存放数据有序，不是散列
     */

    static class Entry<K, V> {
        K k;
        V v;


        public Entry(K k, V v) {
            this.k = k;
            this.v = v;
        }
    }


    public void put(K k, V v) {
        arrayListEntry.add(new Entry<>(k, v));
    }


    /**
     * 如果基于ArrayList实现HashMap，查找时间复杂度为0(n)
     * @param k
     * @return
     */
    public V get(K k) {
        for (Entry<K, V> entry : arrayListEntry) {
            if (entry.k.equals(k)) {
                return entry.v;
            }
        }
        return null;
    }


}
